package util;

import DAO.MyDrawPane;
import DAO.NodeList;
import DAO.TreeNode;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;

/**
 * 各节点文本输入框
 */
public class MyTextArea {

    public static void showTextArea(TreeNode node) {
        AnchorPane an = new AnchorPane();
        Stage stage = new Stage();

        TextArea ta = new TextArea();   // 文本输入框
        ta.appendText(node.getText());
        ta.setFont( Font.font( 16));
        ta.setPrefWidth(300);
        ta.setPrefHeight(100);
        ta.setWrapText(true);

        Button btn = new Button("确定");  // button按钮
        btn.setLayoutX(0);
        btn.setLayoutY(100);
        btn.setPrefWidth(295);
        btn.setPrefHeight(25);
        an.getChildren().addAll(ta,btn);

        btn.setOnAction(new EventHandler<ActionEvent>(){
            @Override
            public void handle(ActionEvent event) {
                String str = ta.getText();
                if(str!=node.getTex()) {   // 若文本框的内容与原文本不相同，则修改文本
                    node.setTex(str);
                    MyDrawPane.g.applyCss();
                    MyDrawPane.g.layout();
                    NodeLocatorUtil.locateX(NodeList.getRoot());   // 重置文本节点的位置
                    NodeLocatorUtil.locateY(NodeList.getRoot());
                    MyDrawPane.draw();
                }
                NodeLocatorUtil.locateX(NodeList.getRoot());
                NodeLocatorUtil.locateY(NodeList.getRoot());
                MyDrawPane.draw();
                stage.close();
            }
        });

        Scene scene = new Scene(an);   // 新建一个文本修改窗口
        stage.setScene(scene);
        stage.setTitle("文本输入框");
        stage.setWidth(300);
        stage.setHeight(165);
        stage.show();

    }


}